package com.sheng.leetcode.year2022.swordfingeroffer.day04;

import org.junit.Test;

/**
 * @author liusheng
 * @date 2022/09/05
 *
 * 剑指 Offer 53 - II. 0～n-1中缺失的数字
 *
 * 一个长度为n-1的递增排序数组中的所有数字都是唯一的，并且每个数字都在范围0～n-1之内。
 * 在范围0～n-1内的n个数字中有且只有一个数字不在该数组中，请找出这个数字。
 *
 * 示例 1:
 *
 * 输入: [0,1,3]
 * 输出: 2
 * 示例 2:
 *
 * 输入: [0,1,2,3,4,5,6,7,9]
 * 输出: 8
 *
 * 限制：
 *
 * 1 <= 数组长度 <= 10000
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/que-shi-de-shu-zi-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class Sword0053Two {

    @Test
    public void test01() {
//        int[] nums = {0,1,3};
//        int[] nums = {0,1,2,3,4,5,6,7,9};
        // 1
//        int[] nums = {0};
        // 2
        int[] nums = {0, 1};
        System.out.println(new Solution53Two().missingNumber(nums));
    }
}
class Solution53Two {
    public int missingNumber(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != i) {
                return i;
            }
        }
        return nums[nums.length - 1] + 1;
    }
}

//class Solution {
//    public int missingNumber(int[] nums) {
//        Arrays.sort(nums);
//        int n = nums.length + 1;
//        for (int i = 0; i < n - 1; i++) {
//            if (nums[i] != i) {
//                return i;
//            }
//        }
//        return n - 1;
//    }
//}
//
//作者：LeetCode-Solution
//链接：https://leetcode.cn/problems/que-shi-de-shu-zi-lcof/solution/0n-1zhong-que-shi-de-shu-zi-by-leetcode-0x0bf/
//来源：力扣（LeetCode）
//著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
